#ifndef ATTENDANCE_H
#define ATTENDANCE_H

// 学生信息结构体 - 使用二叉搜索树
typedef struct Student {
    char id[20];
    char name[20];
    char className[20];
    struct Student *left;
    struct Student *right;
} Student;

// 考勤记录结构体
typedef struct Attendance {
    char studentId[20];
    int status;
    struct Attendance *next;
} Attendance;

// 课程记录结构体 - 使用二叉搜索树
typedef struct ClassRecord {
    int lessonNo;
    Attendance *attList;
    struct ClassRecord *left;
    struct ClassRecord *right;
} ClassRecord;

// 学生管理
void addStudent();
void showStudents();
void deleteStudent(char *id);
Student* findStudent(char *id);

// 考勤管理
void startAttendance(int lessonNo);
void showLessonAttendance(int lessonNo);
void showStudentAttendance(char *id);

// 统计
void countLessonRate(int lessonNo);
void countStudentAbsence(char *id);

// 工具
void setColor(int color);

#endif